Learn R Programming

dcemriS4 (version 0.20.2)

Apparent Diffusion Coefficient: Estimate the Apparent Diffusion Coefficient (ADC)

Description

Estimation of apparent diffusion coefficient (ADC) values, using a single exponential function, is achieved through nonlinear optimization.

Usage

adc.lm(signal, b, guess, nprint=0)
## S3 method for class 'array':
ADC.fast(dwi, bvalues, dwi.mask, verbose=FALSE)

Arguments

signal
Signal intensity vector as a function of b-values.
b,bvalues
Diffusion weightings (b-values).
guess
Initial values of $S_0$ and $D$.
nprint
is an integer, that enables controlled printing of iterates if it is positive. In this case, estimates of par are printed at the beginning of the first iteration and every nprint iterations thereafter and immediately
dwi
Multidimensional array of diffusion-weighted images.
dwi.mask
Logical array that defines the voxels to be analyzed.
verbose
Additional information will be printed when verbose=TRUE.

Value

  • A list structure is produced with estimates of $S_0$, $D$ and information about the convergence of the nonlinear optimization routine.

Details

The adc.lm function estimates parameters for a vector of observed MR signal intensities using the following relationship $$S(b) = S_0 \exp{-bD},$$ where $S_0$ is the baseline signal intensity and $D$ is the apparent diffusion coefficient (ADC). It requires the routine nls.lm that applies the Levenberg-Marquardt algorithm. Note, low b-values ($<50$ or="" $<100$="" depending="" on="" who="" you="" read)="" should="" be="" avoided="" in="" the="" parameter="" estimation="" because="" they="" do="" not="" represent="" information="" about="" diffusion="" of="" water="" tissue.<="" p="">

The ADC.fast function rearranges the assumed multidimensional (2D or 3D) structure of the DWI data into a single matrix to take advantage of internal R functions instead of loops, and called adc.lm.

References

Buxton, R.B. (2002) Introduction to Functional Magnetic Resonance Imaging: Principles & Techniques, Cambridge University Press: Cambridge, UK.

Callahan, P.T. (2006) Principles of Nuclear Magnetic Resonance Microscopy, Clarendon Press: Oxford, UK. Koh, D.-M. and Collins, D.J. (2007) Diffusion-Weighted MRI in the Body: Applications and Challenges in Oncology, American Journal of Roentgenology, 188, 1622-1635.

See Also

nls.lm

Examples

Run this code
S0 <- 10
b <- c(0,50,400,800)  # units?
D <- 0.7e-3           # mm^2 / s (normal white matter)

## Signal intensities based on the (simplified) Bloch-Torry equation
dwi <- function(S0, b, D) {
  S0 * exp(-b*D)
}

set.seed(1234)
signal <- array(dwi(S0, b, D) + rnorm(length(b), sd=.15),
                c(rep(1,3), length(b)))
ADC <- ADC.fast(signal, b, array(TRUE, rep(1,3)))
unlist(ADC) # text output

par(mfrow=c(1,1)) # graphical output
plot(b, signal, xlab="b-value", ylab="Signal intensity")
lines(seq(0,800,10), dwi(S0, seq(0,800,10), D), lwd=2, col=1)
lines(seq(0,800,10), dwi(ADC$S0, seq(0,800,10), ADC$D), lwd=2, col=2)

Run the code above in your browser using DataLab